package com.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
// 导入我们新的课程实体类
import com.entity.CourseEntity;
// 【关键】导入MyBatis的@Param注解
import com.entity.LearningProgressEntity;
import org.apache.ibatis.annotations.Param;

// 导入MyBatis-Plus的Wrapper和Pagination类
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

// 导入新的VO和View类
import com.entity.vo.CourseVO;
import com.entity.view.CourseView;

import java.util.List;
import java.util.Map;

/**
 * 课程Dao
 */

public interface CourseDao extends BaseMapper<CourseEntity> {

    CourseEntity selectCourseWithDetails(@Param("id") Long id);

    List<CourseVO> selectListVO(@Param("ew") Wrapper<CourseEntity> wrapper);

    CourseVO selectVO(@Param("ew") Wrapper<CourseEntity> wrapper);

    List<CourseView> selectListView(@Param("ew") Wrapper<CourseEntity> wrapper);

    List<CourseView> selectListView(Pagination page, @Param("ew") Wrapper<CourseEntity> wrapper);

    CourseView selectView(@Param("ew") Wrapper<CourseEntity> wrapper);

    CourseEntity selectByCourseIdXml(@Param("courseId") Long courseId);
}
